/* eslint valid-jsdoc: "off" */

'use strict';

/**
 * @param {Egg.EggAppInfo} appInfo app info
 */
module.exports = appInfo => {
  /**
   * built-in config
   * @type {Egg.EggAppConfig}
   **/
  const config = exports = {};

  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + '_1607572666008_5289';
  config.jwt = {
    secret: "mutouren" //自定义 token 的加密条件字符串
  };
  // 添加中间件配置
  config.middleware = [];
  // 配置域名和端口号
	config.cluster = {
		listen: {
			port: 3000, // 默认值是7001
			hostname: '127.0.0.1' // 也就是 "localhost" 
			//warning hostname在写的时候不能添加协议
		}
  };
  // 链接mysql数据库
  config.mysql = {
    client: {
      host: 'localhost', // 自己的数据库host
      port: '3306', // 自己的连接端口
      user: 'root', // 可以使用root 
      password: '123456', // 数据库密码
      database: 'students',     // 要连接的数据库名称
    },
    app: true,
    agent: false,
  };
  // 跨域配置
  config.security = {
    csrf: {
      enable: false,
      ignoreJSON: true
    },
    domainWhiteList: [ '*' ], // 白名单
  };
  // 配置允许跨域的源和请求方法
  config.cors = {
    origin: '*', // 如果不写origin则会按照白名单中的域名允许跨域 * 代表允许所有的域名进行跨域请求
    credentials: true,
    allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH'
  }
  // 添加用户配置
  const userConfig = {
    myAppName: 'studentManage',
    author: 'jiaweiwang',
    special: 'handsome'
  };

  return {
    ...config,
    ...userConfig,
  };
};
